package com.juhui.file.config;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

import java.io.File;

/**
 * 通用映射配置
 *
 * @author melorogee
 */
@Configuration
public class ResourcesConfig implements WebMvcConfigurer {

	/**
	 * 上传文件存储在本地的根路径
	 */
	@Value("${local.path}")
	private String localFilePath;

	/**
	 * 资源映射路径 前缀
	 */
	@Value("${local.prefix}")
	public String localFilePrefix;

	@Override
	public void addResourceHandlers(ResourceHandlerRegistry registry) {
		/** 本地文件上传路径 */
		registry.addResourceHandler(localFilePrefix + "/**")
				.addResourceLocations("file:" + localFilePath + File.separator);
	}

	/**
	 * 开启跨域
	 */
	@Override
	public void addCorsMappings(CorsRegistry registry) {
		// 设置允许跨域的路由
		registry.addMapping(localFilePrefix + "/**")
				// 设置允许跨域请求的域名
				.allowedOrigins("*")
				// 设置允许的方法
				.allowedMethods("GET");
	}
}
